/**
 * 报警综合分析
 */
$(function(){
	alarmStatistics.init();
});

var alarmType = "";
var alarmStatistics = {
	param: {},
	init: function(){
		var me = this;
		me.queryType=0;
		//me.initQueryTime();
		me.initTableTitle();
		me.initEvent();
		//加载业户下拉框
		//me.initEnterpriseList();
		//加载车辆下拉框
		//me.initVehicleList();
		//周下拉框
		me.initWeekList();
		//区域类型下拉框
		me.loadAreaList();
		//默认查询
		//me.tableReload(0);
		//me.tableReload(1);
	},
	getToday : function(){
		var todayDate = new Date();
        var yyyy = todayDate.getFullYear();
        var mm = todayDate.getMonth()+1;
        var dd = todayDate.getDate();  
        if (mm.toString().length == 1) {
	        mm = '0' + mm;
	    }
	    if (dd.toString().length == 1) {
	        dd = '0' + dd;
	    }
        return yyyy + '-' + mm + '-' + dd;
	},
    initQueryTime:function(){
    	$("#timeType").select2();
    	$("#alarmType").select2();
        var beforeDate = new Date(new Date()-86400000*1); //前一天
	    var yyyy = beforeDate.getFullYear(), mm = (beforeDate.getMonth() + 1).toString(), dd = beforeDate.getDate().toString();
	    if (mm.length == 1){
	        mm = '0' + mm;
	    }
	    if (dd.length == 1){
	        dd = '0' + dd;
	    }
        $("#time-day").val(yyyy + '-' + mm + '-' + dd);
        var preMonth = new Date(yyyy,mm,0);
        mm = preMonth.getMonth()>9?(preMonth.getMonth()+1):('0'+(preMonth.getMonth()+1));
        $("#time-month").val(preMonth.getFullYear() + '-' + mm);
    },
	initEvent : function(){
		var me = this;
		$("#vehTable").hide();
		$("#entTable").show();
		$("#queryType").val("plat");
		$('.tabsHead').on('click','li',function(){
			var index = $(this).index();
			$('.tabsHead').find('li').removeClass('active');
			$(this).addClass('active');
			me.queryType = index;
			if (index==0) {
				$("#queryEnterpriseSel").next().show();
				$("#queryVehicleSel").next().hide();
				$("#vehTable").hide();
				$("#entTable").show();
			}else if (index==1) {
				$("#queryEnterpriseSel").next().hide();
				$("#queryVehicleSel").next().show();
				$("#entTable").hide();
				$("#vehTable").show();
				
			}
		});
    	/*$("#timeType").on('change',function(){
    		var vo = $("#timeType").val();
    		if(vo=='day'){
    			$("#time-day").show();
    			$("#time-week").hide();
    			$("#time-month").hide();
    		}else if(vo=='week'){
    			$("#time-day").hide();
    			$("#time-week").show();
    			$("#time-month").hide();
    		}else if(vo=='month'){
    			$("#time-day").hide();
    			$("#time-week").hide();
    			$("#time-month").show();
    		}
		});*/
    	$("#queryBtn").on('click',function(){
    		var	areaIds = $("#queryArea").combotree("getValues");
    		if (areaIds.length<1) {
    			global.ajaxLoading.pop('请选择区域',false,2000);
				return;
			}
    		if (me.queryType==0) {
    			$("#vehTable").hide();
    			$("#entTable").show();
			}else{
				$("#entTable").hide();
    			$("#vehTable").show();
			}
    		me.tableReload();
    	});
    	$("#exportExcel").on('click',function(){
    		me.exportAlarmStatistics();
    	});
        $("#confirmExport").click(function () {
        	me.exportComfirm();
        })
     	//$("img[name='trackPlayBtn']").bind('click',function(){});
    },
   
    //车辆下拉框
    initVehicleList :function(){
    	$("#queryVehicleSel").select2({
	        theme: "default",
	        allowClear: true,
	        placeholder: "全部车辆",
	        ajax:{
	            url:appCtx + "/system/common/selectVehicle.html",
	            dataType:"json",
	            delay:250,
	            data:function(params){
	                return {
	                    name: params.term,
	                    page: params.page || 1
	                };
	            },
	            cache:true,
	            processResults: function (res, params) {
			    	if(res){
			    		var options = [];
			    		var option = {"id":" ", "text":"全部车辆"};
			    		options.push(option);
	    				$.each(res,function(index,obj) {
	    					var option = {"id":obj.vehicle_no, "text":obj.vehicle_no};
    	                    options.push(option);
	    				});
    	                return {
    	                	results: options,
    	                    pagination: {
    	                        more:false
    	                    }
    	                };
			    	}
	            },
	            escapeMarkup: function (markup) { return markup; },
	            minimumInputLength: 1
	        }
	    });
    	//默认隐藏
		$("#queryVehicleSel").next().hide();
	},
	initEnterpriseList :function(){
		$('#queryEnterpriseSel').select2({
    		theme: "default",
 	        allowClear: true,
 	        placeholder: "全部业户",
 	        ajax:{
 	            url:appCtx + "/base/report/enterpriseAnalyzes/queryEnterprise.html?time="+ new Date().getTime(),
 	            dataType:"json",
 	            delay:250,
 	           async : true,
 	            data:function(params){
 	                return {
 	                	enterprise_name: params.term,
 	                    page: params.page || 1
 	                };
 	            },
 	            cache:true,
 	            processResults: function (res, params) {
 	          
 			    	if(res){
 			    		var options = [];
 			    		var option = {"id":" ", "text":"全部业户"};
 			    		options.push(option);
 	    				$.each(res,function(index,obj) {
 	    					var option = {"id":obj.id, "text":obj.enterprise_name};
     	                    options.push(option);
 	    				});
     	                return {
     	                	results: options,
     	                    pagination: {
     	                        more:false
     	                    }
     	                };
 			    	}
 	            },
 	            escapeMarkup: function (markup) { return markup; },
 	            minimumInputLength: 1
 	        }
    	});
	},
    loadAreaList:function(){
		$('#queryArea').combotree({
			url:appCtx + "system/common/queryAreaName.html?level="+3,
			valueField: 'id',
            textField: 'text',
            method: 'post',
            multiple:false,//是否多选
            onlyLeafCheck:true,
            editable : false,
            collapseAll : true,
            loadFilter: function(data){
            	 //data.unshift({ id: '', text: '请选择所属区域', selected: "selected" });
                 return data;
    		},
    		onLoadSuccess:function(node, data) {
    			/*$('#queryArea').combotree('tree').tree("collapseAll");
    			$('#queryArea').combotree('setText','请选择所属区域')*/
    			if (data&&data.length>0) {
    				var id = "";
    				if (data[0].children.length>0) {
						if (data[0].children[0].children.length>0) {
							id = data[0].children[0].children[0].id;
						}else{
							id = data[0].children[0].id;
						}
					}else{
						id = data[0].id;
					}
    				$("#queryArea").combotree('setValue', id);
    				$("#queryBtn").trigger("click");
				}
         	},
    		onBeforeSelect:function(node){
    			if (!$("#queryArea").combotree("tree").tree('isLeaf', node.target)) {
                    return false;
                }
            },
		});
	},
	//初始化周维度
    initWeekList : function(){
    	$.ajax({
    		type : 'post',
    		url : appCtx + "base/report/PlatformAnalyzes/queryweek.html",
    		async : false,
    		cache : false,
    		dataType : "JSON",
    		success : function(data) {
    			if(data!=null&&data!=''){
    				$.each(data,function(entryIndex,entry) {
    					$("#time-week").append("<option value='"+entry.value+"'>"+entry.text+"</option>");
    				});				
    			}
    		}
    	});
    },
    initTableTitle:function(){
        var getVehicleColor = function(vehicle_color){
        	if (vehicle_color=="") {
        		return "";
			}else{
				return global.carColor(vehicle_color);
			}
        };
        var getFormatTime = function (msg){
	  	    if (msg != "" && null != msg && undefined != msg ) {
	  	    	var outTime = "0";
		  		var date = new Date(parseInt(msg)); 
	  		    var y = date.getFullYear();    
	  		    var m = date.getMonth() + 1;    
	  		    m = m < 10 ? ('0' + m) : m;    
	  		    var d = date.getDate();    
	  		    d = d < 10 ? ('0' + d) : d;    
	  		    var h = date.getHours();  
	  		    h = h < 10 ? ('0' + h) : h;  
	  		    var minute = date.getMinutes();  
	  		    var second = date.getSeconds();  
	  		    minute = minute < 10 ? ('0' + minute) : minute;    
	  		    second = second < 10 ? ('0' + second) : second;   
	  		    outTime = y + '-' + m + '-' + d+'  '+h+':'+minute+':'+second;
	  		    return outTime;
		  	}else{
		  		return "";
		  	}
		 };
		 var toDriver = function(licence,driverName){
			 return "<a target='_blank' href='" + appCtx + "/base/PubDriver/toAlarmDriver.html?licence=" + licence + "'>" + driverName + "</a>";
		 };
		 
    	$("#objTable1").flexigrid({
            dataType : 'json',
            colModel : [{
            	display : '序号',
                width : 5,
                name : 'id',
                align : 'left',
                sortable:false,
            },{
                display : '业户名称',
                name : 'enterprise_name',
                width : 25,
                sortable:false,
                showtitle:true,
                align : 'left'
            },{
                display : '车辆数',
                name : 'vehicle_count',
                width : 10,
                align : 'left',
                sortable:false,
            },{
                display : '报警车辆数',
                name : 'alarm_vehicle_count',
                width : 10,
                align : 'left',
                sortable:false,
            },{
            	display : '报警类型',
            	name : 'alarm_type',
            	width : 10,
            	align : 'left',
            	sortable:false
            },{
                display : '报警次数',
                name : 'alarm_count',
                width : 10,
                align : 'left',
                sortable:false,
            },{
            	display : '车均报警次数',
            	name : 'per_vehicle_count',
            	width : 12,
            	align : 'left',
            	sortable:false
            },{
                display : '备注',
                name : 'remark',
                width : 12,
                align : 'left',
                sortable:false,
            }] ,
            usepager : true,// 是否分页，默认为true。
            resizable : false,
			sortname : "id",// 第一次加载数据时排序列
			sortorder : "desc",// 第一次加载数据时排序类型
			usepager : true,// 是否分页，默认为true
			minheight: 50, //列的最小高度
			widthType:"%",
			nowrap: true, //是否不换行
			showToggleBtn : false,
			showTableToggleBtn : true,// 是否显示收起/打开按钮,默认不显示。
			useRp : true,// 是否可以动态设置每页显示的结果数，默认为false。
			rp : 10,// 每页记录数，默认为10
			rpOptions: [10, 20, 50, 100], // 每页结果数
			checkbox : false,// 是否要多选框,默认为false。
			rowId : 'id',// 多选框绑定行的id,只有checkbox : true时才有效。
            height:$(window).height() - 240,
            total:0,
            width:$('.detail-report').width(),
            onSuccess:function(data){
            }
        });
    	$("#objTable2").flexigrid({
            dataType : 'json',
            colModel : [{
            	display : '序号',
                width : 5,
                name : 'id',
                align : 'left',
                sortable:false,
            },{
                display : '车牌号',
                name : 'vehicle_no',
                width : 15,
                align : 'left',
                showTitle:true,
                sortable:false,
            },{
            	display : '业户名称',
            	name : 'enterprise_name',
            	width : 35,
            	align : 'left',
            	showTitle:true,
            	sortable:false
            },{
            	display : '报警类型',
            	name : 'alarm_type',
            	width : 15,
            	align : 'left',
            	sortable:false
            },{
                display : '报警次数',
                name : 'alarm_count',
                width : 15,
                align : 'left',
                sortable:false,
            },{
                display : '备注',
                name : 'remark',
                width : 10,
                align : 'left',
                sortable:false
            }] ,
            usepager : true,// 是否分页，默认为true。
            resizable : false,
			sortname : "id",// 第一次加载数据时排序列
			sortorder : "desc",// 第一次加载数据时排序类型
			usepager : true,// 是否分页，默认为true
			//minheight: 50, //列的最小高度
			nowrap: true, //是否不换行
			widthType:"%",
			showToggleBtn : false,
			showTableToggleBtn : true,// 是否显示收起/打开按钮,默认不显示。
			useRp : true,// 是否可以动态设置每页显示的结果数，默认为false。
			rp : 10,// 每页记录数，默认为10
			rpOptions: [10, 20, 50, 100], // 每页结果数
			checkbox : false,// 是否要多选框,默认为false。
			rowId : 'id',// 多选框绑定行的id,只有checkbox : true时才有效。
            height:350,
            total:0,
            width:$('.detail-report').width()
        });
    },
    // 获取查询条件
    getParams: function (queryType) {
    	var me = this;
    	var date = $("#time-week").val();
    	/*var timeType = $("#timeType").val();
    	if(timeType=='day'){
    		date = $("#time-day").val();
    	}else if(timeType=='week'){
    		date = $("#time-week").val();
    	}else if(timeType=='month'){
    		date = $("#time-month").val();
    	}*/
    	var alarmType = $("#alarmType").val();
    	var	areaIds = $("#queryArea").combotree("getValues");
    	if (areaIds.length<1) {
    		areaIds="";
		}else{
			areaIds=areaIds.join(",");
		}
        var params = [{
        	name: 'timeType',
            value: 'week'
        }, {
        	name: 'queryTime',
        	value: date
        }, {
        	name: 'alarmType',
            value: alarmType
        }, {
        	name: 'queryArea',
            value: areaIds
        }, {
            name: 'queryType',
            value: queryType
        /*}, {
            name: 'queryContent',
            value: queryContent*/
        }];
        return params;
    },
	tableReload: function(){
		var me = this;
		$("#objTable1").flexOptions({
			newp :1,// 设置起始页
			url : appCtx + "/report/alarmSta/loadTableData.html?time="+new Date().getTime(),
			params : me.getParams(0)
		}).flexReload();
		$("#objTable2").flexOptions({
			newp :1,// 设置起始页
			url : appCtx + "/report/alarmSta/loadTableData.html?time="+new Date().getTime(),
			params : me.getParams(1)
		}).flexReload();
	},
	exportAlarmStatistics: function(){
    	var ent_options = $("#objTable1").getOptions();
		var ent_total = ent_options.total;
		
		var veh_options = $("#objTable2").getOptions();
		var veh_total = veh_options.total;
		if(veh_total==0&&ent_total==0){
			window.parent.global.ajaxLoading.pop('无生成数据!',false,2000);
			return;
		}
		/*var timeType = $("#timeType").val();
		if(timeType=='day'){
    		$("#exportTitle").html("导出报警统计日报");
    	}else if(timeType=='week'){
    		$("#exportTitle").html("导出报警统计周报");
    	}else if(timeType=='month'){
    		$("#exportTitle").html("导出报警统计月报");
    	}*/
    	$("#exportModal").modal("show");
	},
	exportComfirm : function(){
    	var me = this;
		$("#exportModal").modal("hide");
		var date = $("#time-week").val();
    	var timeType = $("#timeType").val();
    	/*if(timeType=='day'){
    		date = $("#time-day").val();
    	}else if(timeType=='week'){
    		date = $("#time-week").val();
    	}else if(timeType=='month'){
    		date = $("#time-month").val();
    	}*/
    	var alarmType = $("#alarmType").val();
    	var	areaIds = $("#queryArea").combotree("getValues");
    	if (areaIds.length<1) {
    		window.parent.global.ajaxLoading.pop('请选择区域后查询',false,2000);
    		return;
		}else{
			areaIds=areaIds.join(",");
		}
    	window.parent.global.ajaxLoading.pop('正在生成,请稍后.....',false,2000);
		var param =  {
    			timeType:'week',
    			queryTime: date,
    			queryArea:areaIds,
		};
		post(appCtx+"report/alarmSta/exportTableData.html",param);
    }
	
};
